package com.yanfan.maintain.domain;

import com.yanfan.attach.domain.DeviceDetail;
import com.yanfan.energy.domain.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * @Author huan
 * @Description 设备运维发布任务
 * @ClassName 2023年04月06日 10:29:00
 * @Version 1.0
 **/
@Getter
@Setter
public class ReleaseTask {


    /**
     * 关联设备LIst
     */
    List<DeviceDetail> devices;
    /**
     * 备品备件 列表
     */
    List<SpareParts> sparePartsList;
    /**
     * 提交工单的图片
     */
    List<ImageUrl> imageUrlList;
    /**
     * 确认完成的图片
     */
    List<ImageUrl> confirmImages;
    List<TaskProgress> taskProgresses;
    private Long id;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 任务类型
     */
    private Integer taskType;
    private String taskTypeName;
    /**
     * 负责人
     */
    private Long principal;
    private String principalName;
    /**
     * 关联路线List
     */
//    private List<RouteListBody> routeLists;
//    关联路线 ID
    private Long routesId;
    // 路线名称
    private String routesName;
    // 路线设备数
    private Integer routesDeviceNum;
    /**
     * 任务创建人
     */
    private String creator;
    private Long createId;
    /**
     * 任务单号
     */
    private String taskNumber;
    /**
     * 任务状态
     */
    private Integer taskStatus;
    private String taskStatusName;
    /**
     * 任务开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskBegin;
    /**
     * 任务结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskEnd;
    /**
     * 任务内容
     */
    private String content;
    private String recommended;
    private Long deptId;

    private String deptName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date taskDate;

    private EquipmentRepair repair;

    private MaintainTasks maintain;

    private InspectionTask inspection;

    private String telephone;

    private Integer type;
}
